// (C) Copyright 2012 Kystar. All rights reserved.

`timescale 1ns/100ps
`default_nettype none

module reset_module
(
    input  wire sysclk,

    output reg  rgmii_rst,
    output reg  reset_n
);

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    parameter       [23:0]  RESET_100MS     = 24'hBEBC20;
    parameter       [23:0]  RESET_30MS      = 24'h393870;    
    reg             [23:0]  reset_cnt       = 24'd0;

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    always @(posedge sysclk) begin
        if(reset_cnt <= RESET_100MS)
            reset_cnt <= reset_cnt + 1'b1;

        if(reset_cnt >= 24'd1250)
            reset_n <= 1'b1;
        else
            reset_n <= 1'b0;

        if(reset_cnt >= RESET_30MS)
            rgmii_rst <= 1'b1;
        else
            rgmii_rst <= 1'b0;
        end

endmodule
`default_nettype wire
